#include <am.h>
#include <nemu.h>

#define KEYDOWN_MASK 0x8000

void __am_input_keybrd(AM_INPUT_KEYBRD_T *kbd) {
  uint32_t k;

  k = inl(KBD_ADDR);
  // code = kbd->keycode & 0x0000ff00;
  //
  // if (kbd->keycode != AM_KEY_NONE && code == 0x0000f000)
  //   kbd->keydown = 0;
  // else kbd->keydown = 1;
  kbd->keydown = (k & KEYDOWN_MASK ? true : false);
  kbd->keycode = k & ~KEYDOWN_MASK;
}
